package com.huangyi.adminservice.house.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.huangyi.adminservice.house.domain.dto.HouseDescDTO;
import com.huangyi.adminservice.house.domain.dto.HouseListReqDTO;
import com.huangyi.adminservice.house.domain.entity.House;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;

/**
 * 房源数据访问层接口
 * 
 * <p>提供房源相关的数据库操作，包括基础CRUD和自定义查询方法
 * 
 * @author huangyi
 * @version 1.0
 * @since 2024
 */
@Mapper
public interface HouseMapper extends BaseMapper<House> {

    /**
     * 根据条件统计房源数量（包含状态信息）
     * 
     * @param houseListReqDTO 查询条件
     * @return 房源数量
     */
    Long selectCountWithStatus(HouseListReqDTO houseListReqDTO);

    /**
     * 根据条件分页查询房源列表（包含状态信息）
     * 
     * @param houseListReqDTO 查询条件
     * @return 房源描述列表
     */
    List<HouseDescDTO> selectPageWithStatus(HouseListReqDTO houseListReqDTO);
}
